home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1992-12-31 | 11.4 KB | [TEXT/KAHL] |
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
Confidence | Program | Detection | Match Type | Support
|
---|
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, inited, Thu Dec 31 11:04:15 1992, modified Thu Dec 31 11:04:15 1992, creator Think C, type ASCII, 11060 bytes "Luminance.h" , at 0x2bb4 382 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
74%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
25%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [KAHL] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0b 4c 75 6d 69 6e 61 | 6e 63 65 2e 68 00 00 00 |..Lumina|nce.h...|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4b 41 48 | 4c 01 00 00 00 00 00 00 |.TEXTKAH|L.......|
|00000050| 00 00 00 00 00 2b 34 00 | 00 01 7e a7 68 ca 7f a7 |.....+4.|..~.h...|
|00000060| 68 ca 7f 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |h.......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 b2 d7 00 00 |........|........|
|00000080| 2f 2a 0d 4c 75 6d 69 6e | 61 6e 63 65 2e 68 0d 54 |/*.Lumin|ance.h.T|
|00000090| 68 69 73 20 69 73 20 74 | 68 65 20 69 6e 63 6c 75 |his is t|he inclu|
|000000a0| 64 65 20 66 69 6c 65 20 | 66 6f 72 20 4c 75 6d 69 |de file |for Lumi|
|000000b0| 6e 61 6e 63 65 2e 63 20 | 61 6e 64 20 52 65 61 64 |nance.c |and Read|
|000000c0| 4c 75 6d 69 6e 61 6e 63 | 65 52 65 63 6f 72 64 2e |Luminanc|eRecord.|
|000000d0| 63 0d 43 6f 70 79 72 69 | 67 68 74 20 31 39 38 39 |c.Copyri|ght 1989|
|000000e0| 2c 31 39 39 30 2c 31 39 | 39 31 2c 31 39 39 32 20 |,1990,19|91,1992 |
|000000f0| 28 63 29 20 44 65 6e 69 | 73 20 47 2e 20 50 65 6c |(c) Deni|s G. Pel|
|00000100| 6c 69 20 0d 48 49 53 54 | 4f 52 59 3a 0d 39 2f 31 |li .HIST|ORY:.9/1|
|00000110| 38 2f 39 30 09 64 67 70 | 09 43 68 61 6e 67 65 64 |8/90.dgp|.Changed|
|00000120| 20 61 6c 6c 20 69 6e 73 | 74 61 6e 63 65 73 20 6f | all ins|tances o|
|00000130| 66 20 22 76 22 20 74 6f | 20 22 56 22 2e 20 54 68 |f "v" to| "V". Th|
|00000140| 65 20 66 69 6e 61 6c 20 | 76 65 72 73 69 6f 6e 20 |e final |version |
|00000150| 6f 66 20 74 68 65 20 50 | 65 6c 6c 69 0d 09 09 09 |of the P|elli....|
|00000160| 26 20 5a 68 61 6e 67 20 | 28 31 39 39 31 29 20 6d |& Zhang |(1991) m|
|00000170| 61 6e 75 73 63 72 69 70 | 74 20 72 65 66 65 72 73 |anuscrip|t refers|
|00000180| 20 74 6f 20 61 20 6e 6f | 6d 69 6e 61 6c 20 76 6f | to a no|minal vo|
|00000190| 6c 74 61 67 65 20 76 3b | 20 74 68 69 73 20 66 69 |ltage v;| this fi|
|000001a0| 6c 65 0d 09 09 09 6e 6f | 77 20 72 65 66 65 72 73 |le....no|w refers|
|000001b0| 20 74 6f 20 74 68 65 20 | 22 65 71 75 69 76 61 6c | to the |"equival|
|000001c0| 65 6e 74 20 6e 75 6d 62 | 65 72 22 20 56 3b 20 74 |ent numb|er" V; t|
|000001d0| 68 65 79 20 61 72 65 20 | 72 65 6c 61 74 65 64 20 |hey are |related |
|000001e0| 62 79 20 56 3d 32 35 35 | 2a 76 2e 0d 09 09 09 54 |by V=255|*v.....T|
|000001f0| 6f 20 61 76 6f 69 64 20 | 22 62 72 65 61 6b 69 6e |o avoid |"breakin|
|00000200| 67 22 20 61 6c 6c 20 74 | 68 65 20 6f 6c 64 20 4c |g" all t|he old L|
|00000210| 75 6d 69 6e 61 6e 63 65 | 52 65 63 6f 72 64 2e 68 |uminance|Record.h|
|00000220| 20 66 69 6c 65 73 2c 20 | 49 27 76 65 20 0d 09 09 | files, |I've ...|
|00000230| 09 69 6e 74 72 6f 64 75 | 63 65 64 20 61 20 23 64 |.introdu|ced a #d|
|00000240| 65 66 69 6e 65 20 74 68 | 61 74 20 63 6f 6e 76 65 |efine th|at conve|
|00000250| 72 74 73 20 76 4d 69 6e | 20 26 20 76 4d 61 78 20 |rts vMin| & vMax |
|00000260| 74 6f 20 56 4d 69 6e 20 | 26 20 56 4d 61 78 2e 20 |to VMin |& VMax. |
|00000270| 48 6f 77 65 76 65 72 2c | 0d 09 09 09 74 68 69 73 |However,|....this|
|00000280| 20 69 73 20 61 20 74 65 | 6d 70 6f 72 61 72 79 20 | is a te|mporary |
|00000290| 66 69 78 2e 20 49 27 6c | 6c 20 70 72 6f 62 61 62 |fix. I'l|l probab|
|000002a0| 6c 79 20 72 65 6d 6f 76 | 65 20 74 68 65 20 64 65 |ly remov|e the de|
|000002b0| 66 69 6e 65 20 69 6e 20 | 61 20 66 65 77 20 6d 6f |fine in |a few mo|
|000002c0| 6e 74 68 73 2c 0d 09 09 | 09 73 6f 20 79 6f 75 20 |nths,...|.so you |
|000002d0| 73 68 6f 75 6c 64 20 73 | 74 69 6c 6c 20 75 70 64 |should s|till upd|
|000002e0| 61 74 65 20 61 6e 79 20 | 6f 6c 64 20 63 61 6c 69 |ate any |old cali|
|000002f0| 62 72 61 74 69 6f 6e 20 | 66 69 6c 65 73 2c 20 65 |bration |files, e|
|00000300| 69 74 68 65 72 20 62 79 | 20 65 64 69 74 69 6e 67 |ither by| editing|
|00000310| 2c 0d 09 09 09 72 65 70 | 6c 61 63 69 6e 67 20 22 |,....rep|lacing "|
|00000320| 76 4d 22 20 62 79 20 22 | 56 4d 22 20 6f 72 20 62 |vM" by "|VM" or b|
|00000330| 79 20 72 65 64 6f 69 6e | 67 20 74 68 65 20 63 61 |y redoin|g the ca|
|00000340| 6c 69 62 72 61 74 69 6f | 6e 2e 0d 39 2f 32 34 2f |libratio|n..9/24/|
|00000350| 39 30 09 64 67 70 09 41 | 64 64 65 64 20 73 63 72 |90.dgp.A|dded scr|
|00000360| 65 65 6e 20 26 20 64 61 | 74 65 2e 20 52 65 6e 61 |een & da|te. Rena|
|00000370| 6d 65 64 20 6e 42 61 63 | 6b 67 72 6f 75 6e 64 20 |med nBac|kground |
|00000380| 74 6f 20 56 42 61 63 6b | 67 72 6f 75 6e 64 2e 0d |to VBack|ground..|
|00000390| 09 09 09 52 65 6e 61 6d | 65 64 20 69 6e 64 65 78 |...Renam|ed index|
|000003a0| 20 74 6f 20 6c 61 73 74 | 49 6e 64 65 78 2e 0d 39 | to last|Index..9|
|000003b0| 2f 32 38 2f 39 30 09 64 | 67 70 09 52 65 6e 61 6d |/28/90.d|gp.Renam|
|000003c0| 65 64 20 6c 61 73 74 49 | 6e 64 65 78 20 74 6f 20 |ed lastI|ndex to |
|000003d0| 6c 61 74 65 73 74 49 6e | 64 65 78 2e 20 53 70 72 |latestIn|dex. Spr|
|000003e0| 75 63 65 64 20 75 70 20 | 73 6f 6d 65 20 6f 66 20 |uced up |some of |
|000003f0| 74 68 65 20 63 6f 6d 6d | 65 6e 74 73 2e 0d 31 30 |the comm|ents..10|
|00000400| 2f 33 31 2f 39 30 20 64 | 67 70 20 41 64 64 65 64 |/31/90 d|gp Added|
|00000410| 20 74 68 65 20 63 6f 6e | 64 69 74 69 6f 6e 61 6c | the con|ditional|
|00000420| 20 46 41 53 54 5f 4c 55 | 4d 49 4e 41 4e 43 45 2e | FAST_LU|MINANCE.|
|00000430| 20 53 65 74 74 69 6e 67 | 20 69 74 20 74 6f 20 31 | Setting| it to 1|
|00000440| 20 28 74 72 75 65 29 20 | 6d 61 6b 65 73 0d 09 09 | (true) |makes...|
|00000450| 09 53 65 74 4c 75 6d 69 | 6e 61 6e 63 65 73 41 6e |.SetLumi|nancesAn|
|00000460| 64 52 61 6e 67 65 28 29 | 20 72 75 6e 20 74 77 69 |dRange()| run twi|
|00000470| 63 65 20 61 73 20 66 61 | 73 74 2c 20 62 79 20 75 |ce as fa|st, by u|
|00000480| 73 69 6e 67 20 66 69 78 | 65 64 20 70 6f 69 6e 74 |sing fix|ed point|
|00000490| 0d 09 09 09 61 72 69 74 | 68 6d 65 74 69 63 20 69 |....arit|hmetic i|
|000004a0| 6e 73 74 65 61 64 20 6f | 66 20 64 6f 75 62 6c 65 |nstead o|f double|
|000004b0| 73 2e 20 53 65 74 74 69 | 6e 67 20 69 74 20 74 6f |s. Setti|ng it to|
|000004c0| 20 30 20 28 66 61 6c 73 | 65 29 20 63 61 75 73 65 | 0 (fals|e) cause|
|000004d0| 73 20 74 68 65 0d 09 09 | 09 73 61 6d 65 20 63 6f |s the...|.same co|
|000004e0| 64 65 20 74 6f 20 62 65 | 20 63 6f 6d 70 69 6c 65 |de to be| compile|
|000004f0| 64 20 74 6f 20 75 73 65 | 20 64 6f 75 62 6c 65 73 |d to use| doubles|
|00000500| 2e 20 4e 6f 74 65 20 74 | 68 61 74 20 74 68 65 20 |. Note t|hat the |
|00000510| 70 72 6f 74 6f 74 79 70 | 65 73 20 6f 66 0d 09 09 |prototyp|es of...|
|00000520| 09 73 6f 6d 65 20 69 6e | 74 65 72 6e 61 6c 20 66 |.some in|ternal f|
|00000530| 75 6e 63 74 69 6f 6e 73 | 20 28 6e 61 6d 65 73 20 |unctions| (names |
|00000540| 62 65 67 69 6e 6e 69 6e | 67 20 77 69 74 68 20 75 |beginnin|g with u|
|00000550| 6e 64 65 72 73 63 6f 72 | 65 29 20 61 72 65 20 63 |nderscor|e) are c|
|00000560| 6f 6e 64 69 74 69 6f 6e | 61 6c 0d 09 09 09 6f 6e |ondition|al....on|
|00000570| 20 46 41 53 54 5f 4c 55 | 4d 49 4e 41 4e 43 45 2e | FAST_LU|MINANCE.|
|00000580| 0d 31 31 2f 36 2f 39 30 | 20 64 67 70 20 52 65 70 |.11/6/90| dgp Rep|
|00000590| 6c 61 63 65 64 20 4d 69 | 6c 6c 69 20 62 79 20 46 |laced Mi|lli by F|
|000005a0| 69 78 65 64 2e 20 0d 31 | 31 2f 38 2f 39 30 20 64 |ixed. .1|1/8/90 d|
|000005b0| 67 70 09 45 6c 69 6d 69 | 6e 61 74 65 64 20 67 61 |gp.Elimi|nated ga|
|000005c0| 6d 6d 61 20 73 6c 6f 70 | 65 20 74 61 62 6c 65 20 |mma slop|e table |
|000005d0| 73 68 69 66 74 65 64 4c | 53 6c 6f 70 65 5b 5d 20 |shiftedL|Slope[] |
|000005e0| 73 69 6e 63 65 20 74 68 | 65 20 73 70 65 65 64 2d |since th|e speed-|
|000005f0| 75 70 20 69 74 20 6f 66 | 66 65 72 65 64 0d 09 09 |up it of|fered...|
|00000600| 09 77 61 73 20 74 6f 6f | 20 73 6d 61 6c 6c 20 74 |.was too| small t|
|00000610| 6f 20 6d 65 61 73 75 72 | 65 2e 0d 37 2f 33 30 2f |o measur|e..7/30/|
|00000620| 39 31 09 64 67 70 09 41 | 64 64 65 64 20 70 72 6f |91.dgp.A|dded pro|
|00000630| 74 6f 74 79 70 65 20 66 | 6f 72 20 52 65 61 64 4c |totype f|or ReadL|
|00000640| 75 6d 69 6e 61 6e 63 65 | 52 65 63 6f 72 64 28 29 |uminance|Record()|
|00000650| 2e 0d 38 2f 34 2f 39 31 | 09 64 67 70 09 43 68 61 |..8/4/91|.dgp.Cha|
|00000660| 6e 67 65 20 52 65 61 64 | 4c 75 6d 69 6e 61 6e 63 |nge Read|Luminanc|
|00000670| 65 52 65 63 6f 72 64 28 | 29 20 74 6f 20 72 65 74 |eRecord(|) to ret|
|00000680| 75 72 6e 20 74 79 70 65 | 20 69 6e 74 2e 0d 38 2f |urn type| int..8/|
|00000690| 35 2f 39 31 09 64 67 70 | 09 54 72 79 69 6e 67 20 |5/91.dgp|.Trying |
|000006a0| 74 6f 20 63 6f 6d 70 69 | 6c 65 20 75 6e 64 65 72 |to compi|le under|
|000006b0| 20 4d 50 57 20 43 20 33 | 2e 32 20 75 6e 63 6f 76 | MPW C 3|.2 uncov|
|000006c0| 65 72 65 64 20 61 20 6e | 61 6d 65 2d 73 70 61 63 |ered a n|ame-spac|
|000006d0| 65 20 63 6f 6e 66 6c 69 | 63 74 2e 0d 09 09 09 54 |e confli|ct.....T|
|000006e0| 68 65 20 4d 50 57 20 43 | 20 33 2e 32 20 43 54 79 |he MPW C| 3.2 CTy|
|000006f0| 70 65 2e 68 20 68 65 61 | 64 65 72 20 66 69 6c 65 |pe.h hea|der file|
|00000700| 20 64 65 66 69 6e 65 73 | 20 5f 4c 20 61 73 20 61 | defines| _L as a|
|00000710| 20 70 72 65 70 72 6f 63 | 65 73 73 6f 72 20 63 6f | preproc|essor co|
|00000720| 6e 73 74 61 6e 74 2c 0d | 09 09 09 77 68 65 72 65 |nstant,.|...where|
|00000730| 61 73 20 4c 75 6d 69 6e | 61 6e 63 65 2e 68 20 75 |as Lumin|ance.h u|
|00000740| 73 65 73 20 69 74 20 61 | 73 20 61 20 66 69 65 6c |ses it a|s a fiel|
|00000750| 64 20 6f 66 20 74 68 65 | 20 6c 75 6d 69 6e 61 6e |d of the| luminan|
|00000760| 63 65 54 61 62 6c 65 20 | 73 74 72 75 63 74 75 72 |ceTable |structur|
|00000770| 65 2c 0d 09 09 09 61 6e | 64 20 61 73 20 61 20 70 |e,....an|d as a p|
|00000780| 61 72 61 6d 65 74 65 72 | 20 6e 61 6d 65 2e 0d 09 |arameter| name...|
|00000790| 09 09 54 68 65 20 54 48 | 49 4e 4b 20 43 20 34 2e |..The TH|INK C 4.|
|000007a0| 30 35 20 63 74 79 70 65 | 2e 68 20 68 65 61 64 65 |05 ctype|.h heade|
|000007b0| 72 20 66 69 6c 65 20 6e | 61 6d 65 73 20 74 68 65 |r file n|ames the|
|000007c0| 20 73 61 6d 65 20 63 6f | 6e 73 74 61 6e 74 20 5f | same co|nstant _|
|000007d0| 5f 4c 4f 57 52 2c 0d 09 | 09 09 77 68 69 63 68 20 |_LOWR,..|..which |
|000007e0| 6f 66 20 63 6f 75 72 73 | 65 20 64 6f 65 73 6e 27 |of cours|e doesn'|
|000007f0| 74 20 63 6f 6e 66 6c 69 | 63 74 2e 20 54 68 65 20 |t confli|ct. The |
|00000800| 6f 62 76 69 6f 75 73 20 | 73 6f 6c 75 74 69 6f 6e |obvious |solution|
|00000810| 20 77 6f 75 6c 64 20 62 | 65 20 74 6f 0d 09 09 09 | would b|e to....|
|00000820| 63 68 61 6e 67 65 20 4d | 50 57 27 73 20 43 54 79 |change M|PW's CTy|
|00000830| 70 65 2e 68 20 5f 4c 20 | 74 6f 20 5f 4c 4f 57 52 |pe.h _L |to _LOWR|
|00000840| 2c 20 62 75 74 20 74 68 | 61 74 20 77 6f 75 6c 64 |, but th|at would|
|00000850| 20 63 6f 6d 70 72 6f 6d | 69 73 65 20 70 6f 72 74 | comprom|ise port|
|00000860| 61 62 69 6c 69 74 79 2e | 0d 09 09 09 49 20 64 65 |ability.|....I de|
|00000870| 63 69 64 65 64 20 6e 6f | 74 20 74 6f 20 63 68 61 |cided no|t to cha|
|00000880| 6e 67 65 20 5f 4c 20 69 | 6e 20 4c 75 6d 69 6e 61 |nge _L i|n Lumina|
|00000890| 6e 63 65 2e 68 20 61 6e | 64 20 4c 75 6d 69 6e 61 |nce.h an|d Lumina|
|000008a0| 6e 63 65 2e 63 2c 0d 09 | 09 09 62 65 63 61 75 73 |nce.c,..|..becaus|
|000008b0| 65 20 69 74 20 77 6f 75 | 6c 64 20 62 65 20 68 61 |e it wou|ld be ha|
|000008c0| 72 64 20 74 6f 20 64 6f | 20 74 68 61 74 20 69 6e |rd to do| that in|
|000008d0| 20 61 20 77 61 79 20 74 | 68 61 74 20 77 6f 75 6c | a way t|hat woul|
|000008e0| 64 6e 27 74 20 63 6f 6d | 70 72 6f 6d 69 73 65 20 |dn't com|promise |
|000008f0| 0d 09 09 09 74 68 65 20 | 72 65 61 64 61 62 69 6c |....the |readabil|
|00000900| 69 74 79 20 6f 66 20 74 | 68 65 20 63 6f 64 65 2e |ity of t|he code.|
|00000910| 20 48 6f 77 65 76 65 72 | 2c 20 49 20 64 69 64 20 | However|, I did |
|00000920| 64 6f 20 61 20 71 75 69 | 63 6b 20 68 61 63 6b 2c |do a qui|ck hack,|
|00000930| 20 0d 09 09 09 61 62 6f | 75 74 20 74 65 6e 20 6c | ....abo|ut ten l|
|00000940| 69 6e 65 73 20 62 65 6c | 6f 77 2c 20 74 68 61 74 |ines bel|ow, that|
|00000950| 20 72 65 64 65 66 69 6e | 65 73 20 5f 4c 20 61 73 | redefin|es _L as|
|00000960| 20 61 6e 20 65 6e 75 6d | 2c 20 77 68 69 63 68 20 | an enum|, which |
|00000970| 73 6f 6c 76 65 73 20 74 | 68 65 0d 09 09 09 70 72 |solves t|he....pr|
|00000980| 6f 62 6c 65 6d 2c 20 70 | 72 6f 76 69 64 65 64 20 |oblem, p|rovided |
|00000990| 43 54 79 70 65 2e 68 20 | 69 73 20 69 6e 63 6c 75 |CType.h |is inclu|
|000009a0| 64 65 64 20 62 65 66 6f | 72 65 20 4c 75 6d 69 6e |ded befo|re Lumin|
|000009b0| 61 6e 63 65 2e 68 20 69 | 6e 20 66 69 6c 65 73 20 |ance.h i|n files |
|000009c0| 74 68 61 74 0d 09 09 09 | 6e 65 65 64 20 74 6f 20 |that....|need to |
|000009d0| 65 78 70 6c 69 63 69 74 | 6c 79 20 61 63 63 65 73 |explicit|ly acces|
|000009e0| 73 20 5f 4c 2e 20 49 6e | 20 66 61 63 74 20 5f 4c |s _L. In| fact _L|
|000009f0| 20 69 73 20 69 6e 74 65 | 6e 64 65 64 20 66 6f 72 | is inte|nded for|
|00000a00| 20 75 73 65 0d 09 09 09 | 6f 6e 6c 79 20 62 79 20 | use....|only by |
|00000a10| 74 68 65 20 72 6f 75 74 | 69 6e 65 73 20 74 68 61 |the rout|ines tha|
|00000a20| 74 20 61 72 65 20 69 6e | 20 4c 75 6d 69 6e 61 6e |t are in| Luminan|
|00000a30| 63 65 2e 63 2c 20 73 6f | 20 49 20 73 75 73 70 65 |ce.c, so| I suspe|
|00000a40| 63 74 20 74 68 65 0d 09 | 09 09 70 72 6f 62 6c 65 |ct the..|..proble|
|00000a50| 6d 20 69 73 20 73 6f 6c | 76 65 64 2e 0d 31 32 2f |m is sol|ved..12/|
|00000a60| 31 37 2f 39 32 09 64 67 | 70 20 52 65 6d 6f 76 65 |17/92.dg|p Remove|
|00000a70| 64 20 6f 62 73 6f 6c 65 | 74 65 20 73 75 70 70 6f |d obsole|te suppo|
|00000a80| 72 74 20 66 6f 72 20 54 | 48 49 4e 4b 20 43 20 34 |rt for T|HINK C 4|
|00000a90| 2e 20 0d 31 32 2f 32 31 | 2f 39 32 20 64 67 70 20 |. .12/21|/92 dgp |
|00000aa0| 41 64 64 65 64 20 64 61 | 63 53 69 7a 65 20 61 6e |Added da|cSize an|
|00000ab0| 64 20 6c 65 66 74 53 68 | 69 66 74 2e 0d 2a 2f 0d |d leftSh|ift..*/.|
|00000ac0| 0d 23 70 72 61 67 6d 61 | 20 6f 6e 63 65 09 09 2f |.#pragma| once../|
|00000ad0| 2a 20 73 75 70 70 72 65 | 73 73 20 6d 75 6c 74 69 |* suppre|ss multi|
|00000ae0| 70 6c 65 20 69 6e 63 6c | 75 73 69 6f 6e 73 20 6f |ple incl|usions o|
|00000af0| 66 20 74 68 69 73 20 66 | 69 6c 65 20 2a 2f 0d 23 |f this f|ile */.#|
|00000b00| 69 66 6e 64 65 66 20 5f | 4c 55 4d 49 4e 41 4e 43 |ifndef _|LUMINANC|
|00000b10| 45 5f 09 2f 2a 20 73 75 | 70 70 72 65 73 73 20 6d |E_./* su|ppress m|
|00000b20| 75 6c 74 69 70 6c 65 20 | 69 6e 63 6c 75 73 69 6f |ultiple |inclusio|
|00000b30| 6e 73 20 6f 66 20 74 68 | 69 73 20 66 69 6c 65 20 |ns of th|is file |
|00000b40| 2a 2f 0d 23 64 65 66 69 | 6e 65 20 5f 4c 55 4d 49 |*/.#defi|ne _LUMI|
|00000b50| 4e 41 4e 43 45 5f 0d 0d | 23 69 6e 63 6c 75 64 65 |NANCE_..|#include|
|00000b60| 20 3c 51 75 69 63 6b 44 | 72 61 77 2e 68 3e 0d 23 | <QuickD|raw.h>.#|
|00000b70| 69 6e 63 6c 75 64 65 20 | 3c 53 6f 75 6e 64 2e 68 |include |<Sound.h|
|00000b80| 3e 0d 0d 2f 2a 0d 54 68 | 65 20 66 6f 6c 6c 6f 77 |>../*.Th|e follow|
|00000b90| 69 6e 67 20 74 72 69 63 | 6b 65 72 79 20 72 65 64 |ing tric|kery red|
|00000ba0| 65 66 69 6e 65 73 20 74 | 68 65 20 4d 50 57 20 43 |efines t|he MPW C|
|00000bb0| 20 33 2e 32 20 43 54 79 | 70 65 2e 68 20 64 65 66 | 3.2 CTy|pe.h def|
|00000bc0| 69 6e 65 20 63 6f 6e 73 | 74 61 6e 74 0d 5f 4c 20 |ine cons|tant._L |
|00000bd0| 61 73 20 61 6e 20 65 6e | 75 6d 2c 20 73 6f 20 74 |as an en|um, so t|
|00000be0| 68 61 74 20 69 74 20 77 | 6f 6e 27 74 20 63 6f 6e |hat it w|on't con|
|00000bf0| 66 6c 69 63 74 20 77 69 | 74 68 20 74 68 65 20 75 |flict wi|th the u|
|00000c00| 73 65 20 6f 66 20 5f 4c | 20 61 73 20 61 20 70 61 |se of _L| as a pa|
|00000c10| 72 61 6d 65 74 65 72 20 | 6e 61 6d 65 20 6f 72 0d |rameter |name or.|
|00000c20| 73 74 72 75 63 74 75 72 | 65 20 66 69 65 6c 64 2e |structur|e field.|
|00000c30| 0d 2a 2f 0d 23 69 66 64 | 65 66 20 5f 4c 0d 09 65 |.*/.#ifd|ef _L..e|
|00000c40| 6e 75 6d 7b 5f 5f 5f 5f | 4c 3d 5f 4c 7d 3b 0d 09 |num{____|L=_L};..|
|00000c50| 23 75 6e 64 65 66 20 5f | 4c 0d 09 65 6e 75 6d 7b |#undef _|L..enum{|
|00000c60| 5f 4c 3d 5f 5f 5f 5f 4c | 7d 3b 0d 23 65 6e 64 69 |_L=____L|};.#endi|
|00000c70| 66 0d 0d 2f 2a 20 54 68 | 65 73 65 20 33 20 23 64 |f../* Th|ese 3 #d|
|00000c80| 65 66 69 6e 65 73 20 61 | 72 65 20 61 20 74 65 6d |efines a|re a tem|
|00000c90| 70 6f 72 61 72 79 20 66 | 69 78 2c 20 74 6f 20 61 |porary f|ix, to a|
|00000ca0| 6c 6c 6f 77 20 75 73 65 | 20 6f 66 20 6f 6c 64 20 |llow use| of old |
|00000cb0| 4c 75 6d 69 6e 61 6e 63 | 65 52 65 63 6f 72 64 2e |Luminanc|eRecord.|
|00000cc0| 68 20 66 69 6c 65 73 20 | 2a 2f 0d 23 64 65 66 69 |h files |*/.#defi|
|00000cd0| 6e 65 20 76 4d 69 6e 20 | 56 4d 69 6e 0d 23 64 65 |ne vMin |VMin.#de|
|00000ce0| 66 69 6e 65 20 76 4d 61 | 78 20 56 4d 61 78 0d 23 |fine vMa|x VMax.#|
|00000cf0| 64 65 66 69 6e 65 20 6e | 42 61 63 6b 67 72 6f 75 |define n|Backgrou|
|00000d00| 6e 64 20 56 42 61 63 6b | 67 72 6f 75 6e 64 0d 0d |nd VBack|ground..|
|00000d10| 2f 2a 20 4c 49 4e 45 41 | 52 5f 56 5f 44 4f 4d 41 |/* LINEA|R_V_DOMA|
|00000d20| 49 4e 20 69 73 20 74 68 | 65 20 6d 61 78 69 6d 75 |IN is th|e maximu|
|00000d30| 6d 20 69 6e 74 65 72 76 | 61 6c 20 69 6e 20 56 20 |m interv|al in V |
|00000d40| 6f 76 65 72 20 77 68 69 | 63 68 20 74 68 65 20 67 |over whi|ch the g|
|00000d50| 61 6d 6d 61 20 66 75 6e | 63 74 69 6f 6e 20 69 73 |amma fun|ction is|
|00000d60| 0d 74 6f 20 62 65 20 61 | 73 73 75 6d 65 64 20 6c |.to be a|ssumed l|
|00000d70| 69 6e 65 61 72 20 62 79 | 20 4c 54 6f 56 28 29 2e |inear by| LToV().|
|00000d80| 20 54 68 65 20 76 61 6c | 75 65 20 34 20 67 69 76 | The val|ue 4 giv|
|00000d90| 65 73 20 61 6c 6d 6f 73 | 74 20 74 68 65 20 73 61 |es almos|t the sa|
|00000da0| 6d 65 20 61 63 63 75 72 | 61 63 79 20 61 73 20 31 |me accur|acy as 1|
|00000db0| 2c 20 79 65 74 0d 72 65 | 73 75 6c 74 73 20 69 6e |, yet.re|sults in|
|00000dc0| 20 53 65 74 4c 75 6d 69 | 6e 61 6e 63 65 73 28 29 | SetLumi|nances()|
|00000dd0| 20 6f 6e 20 61 20 4d 61 | 63 20 49 49 20 74 61 6b | on a Ma|c II tak|
|00000de0| 69 6e 67 20 6f 6e 6c 79 | 20 32 39 20 6d 73 20 69 |ing only| 29 ms i|
|00000df0| 6e 73 74 65 61 64 20 6f | 66 20 35 30 20 6d 73 2e |nstead o|f 50 ms.|
|00000e00| 20 0d 53 65 65 20 5f 4c | 54 6f 56 28 29 20 69 6e | .See _L|ToV() in|
|00000e10| 20 4c 75 6d 69 6e 61 6e | 63 65 2e 63 20 20 66 6f | Luminan|ce.c fo|
|00000e20| 72 20 6d 6f 72 65 20 69 | 6e 66 6f 72 6d 61 74 69 |r more i|nformati|
|00000e30| 6f 6e 2e 20 2a 2f 0d 0d | 23 64 65 66 69 6e 65 20 |on. */..|#define |
|00000e40| 4d 41 43 49 4e 54 4f 53 | 48 09 31 09 09 2f 2a 20 |MACINTOS|H.1../* |
|00000e50| 73 65 74 20 74 6f 20 30 | 20 74 6f 20 75 73 65 20 |set to 0| to use |
|00000e60| 6f 6e 20 61 6e 79 20 6f | 74 68 65 72 20 63 6f 6d |on any o|ther com|
|00000e70| 70 75 74 65 72 20 2a 2f | 0d 23 64 65 66 69 6e 65 |puter */|.#define|
|00000e80| 20 4c 49 4e 45 41 52 5f | 56 5f 44 4f 4d 41 49 4e | LINEAR_|V_DOMAIN|
|00000e90| 20 34 09 2f 2a 20 73 65 | 65 20 61 62 6f 76 65 20 | 4./* se|e above |
|00000ea0| 2a 2f 0d 23 64 65 66 69 | 6e 65 20 46 41 53 54 5f |*/.#defi|ne FAST_|
|00000eb0| 4c 55 4d 49 4e 41 4e 43 | 45 20 31 09 2f 2a 20 31 |LUMINANC|E 1./* 1|
|00000ec0| 20 66 6f 72 20 46 69 78 | 65 64 20 6d 61 74 68 20 | for Fix|ed math |
|00000ed0| 28 74 77 69 63 65 20 61 | 73 20 66 61 73 74 29 2c |(twice a|s fast),|
|00000ee0| 20 30 20 66 6f 72 20 64 | 6f 75 62 6c 65 20 6d 61 | 0 for d|ouble ma|
|00000ef0| 74 68 20 2a 2f 0d 23 64 | 65 66 69 6e 65 20 44 41 |th */.#d|efine DA|
|00000f00| 43 53 20 33 09 09 09 09 | 2f 2a 20 6e 75 6d 62 65 |CS 3....|/* numbe|
|00000f10| 72 20 6f 66 20 64 69 67 | 69 74 61 6c 2d 74 6f 2d |r of dig|ital-to-|
|00000f20| 61 6e 61 6c 6f 67 20 63 | 6f 6e 76 65 72 74 65 72 |analog c|onverter|
|00000f30| 73 20 74 68 61 74 20 77 | 65 20 73 75 70 70 6f 72 |s that w|e suppor|
|00000f40| 74 20 2a 2f 0d 23 64 65 | 66 69 6e 65 20 43 4f 4c |t */.#de|fine COL|
|00000f50| 4f 52 53 20 32 35 36 09 | 09 09 2f 2a 20 73 69 7a |ORS 256.|../* siz|
|00000f60| 65 20 6f 66 20 43 6f 6c | 6f 72 53 70 65 63 20 74 |e of Col|orSpec t|
|00000f70| 61 62 6c 65 20 2a 2f 0d | 23 64 65 66 69 6e 65 20 |able */.|#define |
|00000f80| 4d 41 58 5f 43 4f 45 46 | 46 49 43 49 45 4e 54 53 |MAX_COEF|FICIENTS|
|00000f90| 20 39 09 2f 2a 20 70 6f | 6c 79 6e 6f 6d 69 61 6c | 9./* po|lynomial|
|00000fa0| 20 66 69 74 20 2a 2f 0d | 23 64 65 66 69 6e 65 20 | fit */.|#define |
|00000fb0| 4c 55 4d 49 4e 41 4e 43 | 45 53 5f 49 4e 5f 54 41 |LUMINANC|ES_IN_TA|
|00000fc0| 42 4c 45 20 31 32 38 09 | 2f 2a 20 73 69 7a 65 20 |BLE 128.|/* size |
|00000fd0| 6f 66 20 67 61 6d 6d 61 | 20 74 61 62 6c 65 20 2a |of gamma| table *|
|00000fe0| 2f 0d 0d 23 69 66 20 46 | 41 53 54 5f 4c 55 4d 49 |/..#if F|AST_LUMI|
|00000ff0| 4e 41 4e 43 45 0d 09 23 | 69 6e 63 6c 75 64 65 20 |NANCE..#|include |
|00001000| 3c 54 6f 6f 6c 55 74 69 | 6c 73 2e 68 3e 09 2f 2a |<ToolUti|ls.h>./*|
|00001010| 20 70 72 6f 74 6f 74 79 | 70 65 73 20 66 6f 72 20 | prototy|pes for |
|00001020| 46 69 78 4d 75 6c 20 65 | 74 63 2e 20 2a 2f 0d 23 |FixMul e|tc. */.#|
|00001030| 65 6e 64 69 66 0d 0d 74 | 79 70 65 64 65 66 20 73 |endif..t|ypedef s|
|00001040| 74 72 75 63 74 7b 0d 09 | 43 6f 6c 6f 72 53 70 65 |truct{..|ColorSpe|
|00001050| 63 20 74 61 62 6c 65 5b | 43 4f 4c 4f 52 53 5d 3b |c table[|COLORS];|
|00001060| 09 2f 2a 20 61 20 74 61 | 62 6c 65 20 6f 66 20 76 |./* a ta|ble of v|
|00001070| 61 6c 75 65 73 20 64 65 | 73 74 69 6e 65 64 20 66 |alues de|stined f|
|00001080| 6f 72 20 74 68 65 20 63 | 6c 75 74 20 2a 2f 0d 7d |or the c|lut */.}|
|00001090| 20 43 6c 75 74 3b 0d 0d | 65 6e 75 6d 20 7b 4d 69 | Clut;..|enum {Mi|
|000010a0| 63 68 65 6c 73 6f 6e 2c | 57 65 62 65 72 7d 3b 09 |chelson,|Weber};.|
|000010b0| 2f 2a 20 63 6f 6e 74 72 | 61 73 74 54 79 70 65 20 |/* contr|astType |
|000010c0| 2a 2f 0d 0d 74 79 70 65 | 64 65 66 20 73 74 72 75 |*/..type|def stru|
|000010d0| 63 74 20 7b 0d 09 73 68 | 6f 72 74 20 65 78 69 73 |ct {..sh|ort exis|
|000010e0| 74 73 3b 09 2f 2a 20 73 | 65 74 20 74 6f 20 6c 75 |ts;./* s|et to lu|
|000010f0| 6d 69 6e 61 6e 63 65 53 | 65 74 20 6f 6e 63 65 20 |minanceS|et once |
|00001100| 74 68 69 73 20 74 61 62 | 6c 65 20 68 61 73 20 62 |this tab|le has b|
|00001110| 65 65 6e 20 69 6e 69 74 | 69 61 6c 69 7a 65 64 20 |een init|ialized |
|00001120| 2a 2f 0d 09 73 68 6f 72 | 74 20 6c 61 74 65 73 74 |*/..shor|t latest|
|00001130| 49 6e 64 65 78 3b 2f 2a | 20 6c 61 73 74 2d 75 73 |Index;/*| last-us|
|00001140| 65 64 20 69 6e 64 65 78 | 20 6f 66 20 4c 52 2e 4c |ed index| of LR.L|
|00001150| 2e 5f 4c 5b 5d 20 69 73 | 20 67 6f 6f 64 20 70 6c |._L[] is| good pl|
|00001160| 61 63 65 20 74 6f 20 73 | 74 61 72 74 20 73 65 61 |ace to s|tart sea|
|00001170| 72 63 68 20 2a 2f 0d 09 | 23 69 66 20 46 41 53 54 |rch */..|#if FAST|
|00001180| 5f 4c 55 4d 49 4e 41 4e | 43 45 0d 09 09 46 69 78 |_LUMINAN|CE...Fix|
|00001190| 65 64 20 5f 56 4d 69 6e | 3b 09 2f 2a 20 62 6f 75 |ed _VMin|;./* bou|
|000011a0| 6e 64 73 20 6d 6f 6e 6f | 74 6f 6e 69 63 20 70 61 |nds mono|tonic pa|
|000011b0| 72 74 20 6f 66 20 64 6f | 6d 61 69 6e 20 6f 66 20 |rt of do|main of |
|000011c0| 67 61 6d 6d 61 20 66 75 | 6e 63 74 69 6f 6e 20 2a |gamma fu|nction *|
|000011d0| 2f 0d 09 09 46 69 78 65 | 64 20 5f 56 4d 61 78 3b |/...Fixe|d _VMax;|
|000011e0| 09 2f 2a 20 62 6f 75 6e | 64 73 20 6d 6f 6e 6f 74 |./* boun|ds monot|
|000011f0| 6f 6e 69 63 20 70 61 72 | 74 20 6f 66 20 64 6f 6d |onic par|t of dom|
|00001200| 61 69 6e 20 6f 66 20 67 | 61 6d 6d 61 20 66 75 6e |ain of g|amma fun|
|00001210| 63 74 69 6f 6e 20 2a 2f | 0d 09 09 46 69 78 65 64 |ction */|...Fixed|
|00001220| 20 5f 64 56 3b 09 09 2f | 2a 20 56 20 3d 20 5f 56 | _dV;../|* V = _V|
|00001230| 4d 69 6e 2c 5f 56 4d 69 | 6e 2b 5f 64 56 2c 5f 56 |Min,_VMi|n+_dV,_V|
|00001240| 4d 69 6e 2b 32 64 56 2c | 5f 56 4d 69 6e 2b 33 64 |Min+2dV,|_VMin+3d|
|00001250| 56 2c 20 2e 20 2e 20 2e | 20 2c 5f 56 4d 61 78 20 |V, . . .| ,_VMax |
|00001260| 2a 2f 0d 09 09 09 09 09 | 09 2f 2a 20 5f 64 56 3d |*/......|./* _dV=|
|00001270| 28 5f 56 4d 61 78 2d 5f | 56 4d 69 6e 29 2f 28 4c |(_VMax-_|VMin)/(L|
|00001280| 55 4d 49 4e 41 4e 43 45 | 53 5f 49 4e 5f 54 41 42 |UMINANCE|S_IN_TAB|
|00001290| 4c 45 2d 31 29 20 2a 2f | 0d 09 09 46 69 78 65 64 |LE-1) */|...Fixed|
|000012a0| 20 5f 4c 5b 4c 55 4d 49 | 4e 41 4e 43 45 53 5f 49 | _L[LUMI|NANCES_I|
|000012b0| 4e 5f 54 41 42 4c 45 5d | 3b 0d 09 09 6c 6f 6e 67 |N_TABLE]|;...long|
|000012c0| 20 4c 53 68 69 66 74 3b | 09 2f 2a 20 62 69 74 20 | LShift;|./* bit |
|000012d0| 73 68 69 66 74 20 74 6f | 20 62 65 20 61 70 70 6c |shift to| be appl|
|000012e0| 69 65 64 20 74 6f 20 6c | 75 6d 69 6e 61 6e 63 65 |ied to l|uminance|
|000012f0| 20 64 69 66 66 65 72 65 | 6e 63 65 73 20 2a 2f 0d | differe|nces */.|
|00001300| 09 23 65 6c 73 65 0d 09 | 09 64 6f 75 62 6c 65 20 |.#else..|.double |
|00001310| 5f 56 4d 69 6e 3b 09 2f | 2a 20 62 6f 75 6e 64 73 |_VMin;./|* bounds|
|00001320| 20 6d 6f 6e 6f 74 6f 6e | 69 63 20 70 61 72 74 20 | monoton|ic part |
|00001330| 6f 66 20 64 6f 6d 61 69 | 6e 20 6f 66 20 67 61 6d |of domai|n of gam|
|00001340| 6d 61 20 66 75 6e 63 74 | 69 6f 6e 20 2a 2f 0d 09 |ma funct|ion */..|
|00001350| 09 64 6f 75 62 6c 65 20 | 5f 56 4d 61 78 3b 09 2f |.double |_VMax;./|
|00001360| 2a 20 62 6f 75 6e 64 73 | 20 6d 6f 6e 6f 74 6f 6e |* bounds| monoton|
|00001370| 69 63 20 70 61 72 74 20 | 6f 66 20 64 6f 6d 61 69 |ic part |of domai|
|00001380| 6e 20 6f 66 20 67 61 6d | 6d 61 20 66 75 6e 63 74 |n of gam|ma funct|
|00001390| 69 6f 6e 20 2a 2f 0d 09 | 09 64 6f 75 62 6c 65 20 |ion */..|.double |
|000013a0| 5f 64 56 3b 09 09 2f 2a | 20 56 20 3d 20 5f 56 4d |_dV;../*| V = _VM|
|000013b0| 69 6e 2c 5f 56 4d 69 6e | 2b 5f 64 56 2c 5f 56 4d |in,_VMin|+_dV,_VM|
|000013c0| 69 6e 2b 32 64 56 2c 5f | 56 4d 69 6e 2b 33 64 56 |in+2dV,_|VMin+3dV|
|000013d0| 2c 20 2e 20 2e 20 2e 20 | 2c 5f 56 4d 61 78 20 2a |, . . . |,_VMax *|
|000013e0| 2f 0d 09 09 09 09 09 09 | 2f 2a 20 5f 64 56 3d 28 |/.......|/* _dV=(|
|000013f0| 5f 56 4d 61 78 2d 5f 56 | 4d 69 6e 29 2f 28 4c 55 |_VMax-_V|Min)/(LU|
|00001400| 4d 49 4e 41 4e 43 45 53 | 5f 49 4e 5f 54 41 42 4c |MINANCES|_IN_TABL|
|00001410| 45 2d 31 29 20 2a 2f 0d | 09 09 64 6f 75 62 6c 65 |E-1) */.|..double|
|00001420| 20 5f 4c 5b 4c 55 4d 49 | 4e 41 4e 43 45 53 5f 49 | _L[LUMI|NANCES_I|
|00001430| 4e 5f 54 41 42 4c 45 5d | 3b 0d 09 23 65 6e 64 69 |N_TABLE]|;..#endi|
|00001440| 66 0d 7d 20 6c 75 6d 69 | 6e 61 6e 63 65 54 61 62 |f.} lumi|nanceTab|
|00001450| 6c 65 3b 0d 0d 74 79 70 | 65 64 65 66 20 73 74 72 |le;..typ|edef str|
|00001460| 75 63 74 20 7b 09 2f 2a | 20 22 74 61 62 6c 65 22 |uct {./*| "table"|
|00001470| 20 4d 55 53 54 20 62 65 | 20 74 68 65 20 66 69 72 | MUST be| the fir|
|00001480| 73 74 20 74 68 69 6e 67 | 20 69 6e 20 74 68 65 20 |st thing| in the |
|00001490| 73 74 72 75 63 74 75 72 | 65 21 20 2a 2f 0d 09 43 |structur|e! */..C|
|000014a0| 6f 6c 6f 72 53 70 65 63 | 20 74 61 62 6c 65 5b 43 |olorSpec| table[C|
|000014b0| 4f 4c 4f 52 53 5d 3b 2f | 2a 20 61 20 74 61 62 6c |OLORS];/|* a tabl|
|000014c0| 65 20 6f 66 20 76 61 6c | 75 65 73 20 64 65 73 74 |e of val|ues dest|
|000014d0| 69 6e 65 64 20 66 6f 72 | 20 74 68 65 20 63 6c 75 |ined for| the clu|
|000014e0| 74 20 2a 2f 0d 09 73 68 | 6f 72 74 20 64 61 63 53 |t */..sh|ort dacS|
|000014f0| 69 7a 65 3b 09 09 2f 2a | 20 62 69 74 73 20 2a 2f |ize;../*| bits */|
|00001500| 0d 09 73 68 6f 72 74 20 | 6c 65 66 74 53 68 69 66 |..short |leftShif|
|00001510| 74 3b 09 2f 2a 20 62 69 | 74 20 73 68 69 66 74 20 |t;./* bi|t shift |
|00001520| 6f 66 20 56 20 74 6f 20 | 70 72 6f 64 75 63 65 20 |of V to |produce |
|00001530| 31 36 20 62 69 74 20 76 | 61 6c 75 65 3d 31 36 2d |16 bit v|alue=16-|
|00001540| 64 61 63 53 69 7a 65 20 | 2a 2f 0d 09 73 68 6f 72 |dacSize |*/..shor|
|00001550| 74 20 56 4d 69 6e 2c 56 | 4d 61 78 3b 09 2f 2a 20 |t VMin,V|Max;./* |
|00001560| 6c 6f 77 65 73 74 20 61 | 6e 64 20 68 69 67 68 65 |lowest a|nd highe|
|00001570| 73 74 20 44 41 43 20 76 | 61 6c 75 65 73 20 61 6c |st DAC v|alues al|
|00001580| 6c 6f 77 65 64 3a 20 30 | 20 61 6e 64 20 32 35 35 |lowed: 0| and 255|
|00001590| 20 2a 2f 0d 09 64 6f 75 | 62 6c 65 20 4c 4d 69 6e | */..dou|ble LMin|
|000015a0| 2c 4c 4d 61 78 3b 09 2f | 2a 20 6c 75 6d 69 6e 61 |,LMax;./|* lumina|
|000015b0| 6e 63 65 73 20 61 74 20 | 56 4d 69 6e 20 26 20 56 |nces at |VMin & V|
|000015c0| 4d 61 78 20 2a 2f 0d 09 | 64 6f 75 62 6c 65 20 4c |Max */..|double L|
|000015d0| 42 61 63 6b 67 72 6f 75 | 6e 64 3b 09 2f 2a 20 74 |Backgrou|nd;./* t|
|000015e0| 68 65 20 62 61 63 6b 67 | 72 6f 75 6e 64 20 6c 75 |he backg|round lu|
|000015f0| 6d 69 6e 61 6e 63 65 20 | 75 73 65 64 20 64 75 72 |minance |used dur|
|00001600| 69 6e 67 20 6c 75 6d 69 | 6e 61 6e 63 65 20 63 61 |ing lumi|nance ca|
|00001610| 6c 69 62 72 61 74 69 6f | 6e 20 2a 2f 0d 09 73 68 |libratio|n */..sh|
|00001620| 6f 72 74 20 56 42 61 63 | 6b 67 72 6f 75 6e 64 3b |ort VBac|kground;|
|00001630| 09 2f 2a 20 74 68 65 20 | 62 61 63 6b 67 72 6f 75 |./* the |backgrou|
|00001640| 6e 64 20 6e 75 6d 62 65 | 72 20 75 73 65 64 20 64 |nd numbe|r used d|
|00001650| 75 72 69 6e 67 20 6c 75 | 6d 69 6e 61 6e 63 65 20 |uring lu|minance |
|00001660| 63 61 6c 69 62 72 61 74 | 69 6f 6e 20 2a 2f 0d 09 |calibrat|ion */..|
|00001670| 73 68 6f 72 74 20 73 63 | 72 65 65 6e 3b 09 09 2f |short sc|reen;../|
|00001680| 2a 20 64 65 76 69 63 65 | 3d 47 65 74 53 63 72 65 |* device|=GetScre|
|00001690| 65 6e 44 65 76 69 63 65 | 28 4c 52 2e 73 63 72 65 |enDevice|(LR.scre|
|000016a0| 65 6e 29 3b 20 2a 2f 0d | 09 63 68 61 72 20 2a 69 |en); */.|.char *i|
|000016b0| 64 3b 09 09 09 2f 2a 20 | 6d 61 6b 65 2c 20 6d 6f |d;.../* |make, mo|
|000016c0| 64 65 6c 2c 20 61 6e 64 | 20 73 65 72 69 61 6c 20 |del, and| serial |
|000016d0| 6e 75 6d 62 65 72 20 6f | 66 20 6d 6f 6e 69 74 6f |number o|f monito|
|000016e0| 72 20 2a 2f 0d 09 63 68 | 61 72 20 2a 6e 61 6d 65 |r */..ch|ar *name|
|000016f0| 3b 09 09 09 2f 2a 20 69 | 6e 66 6f 72 6d 61 6c 20 |;.../* i|nformal |
|00001700| 6e 61 6d 65 20 6f 66 20 | 6d 6f 6e 69 74 6f 72 20 |name of |monitor |
|00001710| 2a 2f 0d 09 63 68 61 72 | 20 2a 64 61 74 65 3b 09 |*/..char| *date;.|
|00001720| 09 09 2f 2a 20 77 68 65 | 6e 20 63 61 6c 69 62 72 |../* whe|n calibr|
|00001730| 61 74 65 64 20 2a 2f 0d | 09 63 68 61 72 20 2a 6e |ated */.|.char *n|
|00001740| 6f 74 65 73 3b 09 09 2f | 2a 20 64 65 73 63 72 69 |otes;../|* descri|
|00001750| 70 74 69 6f 6e 20 6f 66 | 20 63 61 6c 69 62 20 63 |ption of| calib c|
|00001760| 6f 6e 64 69 74 69 6f 6e | 73 3a 20 77 68 6f 20 26 |ondition|s: who &|
|00001770| 20 68 6f 77 20 2a 2f 0d | 09 64 6f 75 62 6c 65 20 | how */.|.double |
|00001780| 64 70 69 3b 09 09 09 2f | 2a 20 70 69 78 65 6c 73 |dpi;.../|* pixels|
|00001790| 20 70 65 72 20 69 6e 63 | 68 20 2a 2f 0d 09 64 6f | per inc|h */..do|
|000017a0| 75 62 6c 65 20 48 7a 3b | 09 09 09 2f 2a 20 66 72 |uble Hz;|.../* fr|
|000017b0| 61 6d 65 73 20 70 65 72 | 20 73 65 63 6f 6e 64 20 |ames per| second |
|000017c0| 2a 2f 0d 09 63 68 61 72 | 20 2a 75 6e 69 74 73 3b |*/..char| *units;|
|000017d0| 09 09 2f 2a 20 4c 75 6d | 69 6e 61 6e 63 65 20 75 |../* Lum|inance u|
|000017e0| 6e 69 74 73 2c 20 65 2e | 67 2e 20 22 63 64 2f 6d |nits, e.|g. "cd/m|
|000017f0| 5e 32 22 20 2a 2f 0d 09 | 6c 6f 6e 67 20 63 6f 65 |^2" */..|long coe|
|00001800| 66 66 69 63 69 65 6e 74 | 73 3b 09 2f 2a 20 74 68 |fficient|s;./* th|
|00001810| 65 20 6e 75 6d 62 65 72 | 20 6f 66 20 63 6f 65 66 |e number| of coef|
|00001820| 66 69 63 69 65 6e 74 73 | 2c 20 6e 6f 74 20 6d 6f |ficients|, not mo|
|00001830| 72 65 20 74 68 61 6e 20 | 4d 41 58 5f 43 4f 45 46 |re than |MAX_COEF|
|00001840| 46 49 43 49 45 4e 54 53 | 2c 20 2a 2f 0d 09 09 09 |FICIENTS|, */....|
|00001850| 09 09 09 2f 2a 09 75 73 | 75 61 6c 6c 79 20 39 2c |.../*.us|ually 9,|
|00001860| 20 67 69 76 69 6e 67 20 | 61 6e 20 38 74 68 2d 6f | giving |an 8th-o|
|00001870| 72 64 65 72 20 70 6f 6c | 79 6e 6f 6d 69 61 6c 2c |rder pol|ynomial,|
|00001880| 20 2a 2f 0d 09 64 6f 75 | 62 6c 65 20 70 5b 4d 41 | */..dou|ble p[MA|
|00001890| 58 5f 43 4f 45 46 46 49 | 43 49 45 4e 54 53 5d 3b |X_COEFFI|CIENTS];|
|000018a0| 0d 09 09 09 09 09 09 2f | 2a 20 63 6f 65 66 66 69 |......./|* coeffi|
|000018b0| 63 69 65 6e 74 73 20 6f | 66 20 61 20 70 6f 6c 79 |cients o|f a poly|
|000018c0| 6e 6f 6d 69 61 6c 20 69 | 6e 20 76 61 6c 75 65 20 |nomial i|n value |
|000018d0| 56 2c 20 79 69 65 6c 64 | 69 6e 67 20 4c 20 69 6e |V, yield|ing L in|
|000018e0| 20 63 64 2f 6d 5e 32 20 | 2a 2f 0d 09 64 6f 75 62 | cd/m^2 |*/..doub|
|000018f0| 6c 65 20 70 6f 6c 79 6e | 6f 6d 69 61 6c 45 72 72 |le polyn|omialErr|
|00001900| 6f 72 3b 09 2f 2a 20 52 | 4d 53 20 65 72 72 6f 72 |or;./* R|MS error|
|00001910| 20 6f 66 20 70 6f 6c 79 | 6e 6f 6d 69 61 6c 20 66 | of poly|nomial f|
|00001920| 69 74 20 2a 2f 0d 09 09 | 09 09 09 09 2f 2a 20 4c |it */...|..../* L|
|00001930| 28 56 29 3d 70 5b 30 5d | 2b 70 5b 31 5d 2a 56 2b |(V)=p[0]|+p[1]*V+|
|00001940| 70 5b 32 5d 2a 56 2a 56 | 2b 20 2e 20 2e 20 2e 20 |p[2]*V*V|+ . . . |
|00001950| b1 70 6f 6c 79 6e 6f 6d | 69 61 6c 45 72 72 6f 72 |.polynom|ialError|
|00001960| 20 2a 2f 0d 09 64 6f 75 | 62 6c 65 20 71 5b 33 5d | */..dou|ble q[3]|
|00001970| 3b 09 09 2f 2a 20 63 6f | 65 66 66 69 63 69 65 6e |;../* co|efficien|
|00001980| 74 73 20 6f 66 20 61 20 | 71 75 61 64 72 61 74 69 |ts of a |quadrati|
|00001990| 63 20 70 6f 6c 79 6e 6f | 6d 69 61 6c 20 69 6e 20 |c polyno|mial in |
|000019a0| 56 20 2a 2f 0d 09 64 6f | 75 62 6c 65 20 71 75 61 |V */..do|uble qua|
|000019b0| 64 72 61 74 69 63 45 72 | 72 6f 72 3b 09 2f 2a 20 |draticEr|ror;./* |
|000019c0| 52 4d 53 20 65 72 72 6f | 72 20 6f 66 20 71 75 61 |RMS erro|r of qua|
|000019d0| 64 72 61 74 69 63 20 66 | 69 74 20 2a 2f 0d 09 09 |dratic f|it */...|
|000019e0| 09 09 09 09 2f 2a 20 4c | 28 56 29 3d 71 5b 30 5d |..../* L|(V)=q[0]|
|000019f0| 2b 71 5b 31 5d 2a 56 2b | 71 5b 32 5d 2a 56 2a 56 |+q[1]*V+|q[2]*V*V|
|00001a00| b1 71 75 61 64 72 61 74 | 69 63 45 72 72 6f 72 20 |.quadrat|icError |
|00001a10| 2a 2f 0d 09 64 6f 75 62 | 6c 65 20 70 6f 77 65 72 |*/..doub|le power|
|00001a20| 5b 34 5d 3b 09 2f 2a 20 | 63 6f 65 66 66 69 63 69 |[4];./* |coeffici|
|00001a30| 65 6e 74 73 20 6f 66 20 | 61 20 70 6f 77 65 72 20 |ents of |a power |
|00001a40| 6c 61 77 20 66 69 74 20 | 2a 2f 0d 09 64 6f 75 62 |law fit |*/..doub|
|00001a50| 6c 65 20 70 6f 77 65 72 | 45 72 72 6f 72 3b 09 2f |le power|Error;./|
|00001a60| 2a 20 52 4d 53 20 65 72 | 72 6f 72 20 6f 66 20 70 |* RMS er|ror of p|
|00001a70| 6f 77 65 72 20 6c 61 77 | 20 66 69 74 20 2a 2f 0d |ower law| fit */.|
|00001a80| 09 09 09 09 09 09 2f 2a | 20 4c 28 56 29 3d 70 6f |....../*| L(V)=po|
|00001a90| 77 65 72 5b 30 5d 2b 52 | 65 63 74 69 66 79 28 70 |wer[0]+R|ectify(p|
|00001aa0| 6f 77 65 72 5b 31 5d 2b | 70 6f 77 65 72 5b 32 5d |ower[1]+|power[2]|
|00001ab0| 2a 56 29 5e 70 6f 77 65 | 72 5b 33 5d b1 70 6f 77 |*V)^powe|r[3].pow|
|00001ac0| 65 72 45 72 72 6f 72 20 | 2a 2f 0d 09 09 09 09 09 |erError |*/......|
|00001ad0| 09 2f 2a 20 52 65 63 74 | 69 66 79 28 78 29 3d 78 |./* Rect|ify(x)=x|
|00001ae0| 20 69 66 20 78 b3 30 2c | 20 52 65 63 74 69 66 79 | if x.0,| Rectify|
|00001af0| 28 78 29 3d 30 20 69 66 | 20 78 3c 30 20 2a 2f 0d |(x)=0 if| x<0 */.|
|00001b00| 09 09 09 09 09 09 2f 2a | 20 50 65 6c 6c 69 20 26 |....../*| Pelli &|
|00001b10| 20 5a 68 61 6e 67 20 28 | 31 39 39 31 29 20 45 71 | Zhang (|1991) Eq|
|00001b20| 73 2e 39 26 31 30 20 75 | 73 65 20 73 79 6d 62 6f |s.9&10 u|se symbo|
|00001b30| 6c 73 3a 20 2a 2f 0d 09 | 09 09 09 09 09 2f 2a 20 |ls: */..|...../* |
|00001b40| 76 3d 56 2f 32 35 35 2c | 20 61 6c 70 68 61 3d 70 |v=V/255,| alpha=p|
|00001b50| 6f 77 65 72 5b 30 5d 2c | 20 62 65 74 61 3d 70 6f |ower[0],| beta=po|
|00001b60| 77 65 72 5b 31 5d 2c 20 | 6b 61 70 70 61 3d 70 6f |wer[1], |kappa=po|
|00001b70| 77 65 72 5b 32 5d 2a 32 | 35 35 2c 20 2a 2f 0d 09 |wer[2]*2|55, */..|
|00001b80| 09 09 09 09 09 2f 2a 20 | 67 61 6d 6d 61 3d 70 6f |...../* |gamma=po|
|00001b90| 77 65 72 5b 33 5d 20 2a | 2f 0d 09 64 6f 75 62 6c |wer[3] *|/..doubl|
|00001ba0| 65 20 66 69 78 65 64 50 | 6f 77 65 72 5b 34 5d 3b |e fixedP|ower[4];|
|00001bb0| 09 2f 2a 20 63 6f 65 66 | 66 69 63 69 65 6e 74 73 |./* coef|ficients|
|00001bc0| 20 6f 66 20 61 20 70 6f | 77 65 72 20 6c 61 77 20 | of a po|wer law |
|00001bd0| 66 69 74 2c 20 77 69 74 | 68 20 66 69 78 65 64 20 |fit, wit|h fixed |
|00001be0| 65 78 70 6f 6e 65 6e 74 | 20 2a 2f 0d 09 64 6f 75 |exponent| */..dou|
|00001bf0| 62 6c 65 20 66 69 78 65 | 64 50 6f 77 65 72 45 72 |ble fixe|dPowerEr|
|00001c00| 72 6f 72 3b 09 2f 2a 20 | 52 4d 53 20 65 72 72 6f |ror;./* |RMS erro|
|00001c10| 72 20 6f 66 20 70 6f 77 | 65 72 20 6c 61 77 20 66 |r of pow|er law f|
|00001c20| 69 74 20 2a 2f 0d 09 09 | 09 09 09 09 2f 2a 20 4c |it */...|..../* L|
|00001c30| 28 56 29 3d 66 69 78 65 | 64 50 6f 77 65 72 5b 30 |(V)=fixe|dPower[0|
|00001c40| 5d 2b 52 65 63 74 69 66 | 79 28 66 69 78 65 64 50 |]+Rectif|y(fixedP|
|00001c50| 6f 77 65 72 5b 31 5d 2b | 66 69 78 65 64 50 6f 77 |ower[1]+|fixedPow|
|00001c60| 65 72 5b 32 5d 2a 56 29 | 5e 66 69 78 65 64 50 6f |er[2]*V)|^fixedPo|
|00001c70| 77 65 72 5b 33 5d b1 66 | 69 78 65 64 50 6f 77 65 |wer[3].f|ixedPowe|
|00001c80| 72 45 72 72 6f 72 20 2a | 2f 0d 09 64 6f 75 62 6c |rError *|/..doubl|
|00001c90| 65 20 72 2c 67 2c 62 3b | 09 09 2f 2a 20 76 6f 6c |e r,g,b;|../* vol|
|00001ca0| 74 61 67 65 20 67 61 69 | 6e 73 20 66 6f 72 20 74 |tage gai|ns for t|
|00001cb0| 68 65 20 74 68 72 65 65 | 20 70 61 74 68 77 61 79 |he three| pathway|
|00001cc0| 73 2e 20 72 2b 67 2b 62 | 3d 31 2e 20 41 6c 6c 20 |s. r+g+b|=1. All |
|00001cd0| 6d 75 73 74 20 62 65 20 | b3 30 2e 20 2a 2f 0d 09 |must be |.0. */..|
|00001ce0| 64 6f 75 62 6c 65 20 67 | 61 69 6e 41 63 63 75 72 |double g|ainAccur|
|00001cf0| 61 63 79 3b 2f 2a 20 70 | 6f 73 73 69 62 6c 65 20 |acy;/* p|ossible |
|00001d00| 65 72 72 6f 72 20 69 6e | 20 72 2c 67 2c 62 20 2a |error in| r,g,b *|
|00001d10| 2f 0d 09 64 6f 75 62 6c | 65 20 67 6d 3b 09 09 09 |/..doubl|e gm;...|
|00001d20| 2f 2a 20 54 68 65 20 6d | 6f 6e 69 74 6f 72 27 73 |/* The m|onitor's|
|00001d30| 20 63 6f 6e 74 72 61 73 | 74 20 67 61 69 6e 2e 20 | contras|t gain. |
|00001d40| 54 68 65 20 4d 69 63 68 | 65 6c 73 6f 6e 20 63 6f |The Mich|elson co|
|00001d50| 6e 74 72 61 73 74 20 70 | 72 6f 64 75 63 65 64 20 |ntrast p|roduced |
|00001d60| 62 79 0d 09 09 09 09 09 | 09 09 61 20 73 6d 61 6c |by......|..a smal|
|00001d70| 6c 20 c6 76 20 61 74 20 | 74 68 65 20 62 61 63 6b |l .v at |the back|
|00001d80| 67 72 6f 75 6e 64 20 6c | 75 6d 69 6e 61 6e 63 65 |ground l|uminance|
|00001d90| 20 69 73 20 63 3d 67 6d | 2a c6 76 20 2a 2f 0d 09 | is c=gm|*.v */..|
|00001da0| 2f 2a 20 54 68 65 20 72 | 65 73 74 20 6f 66 20 74 |/* The r|est of t|
|00001db0| 68 65 20 70 61 72 61 6d | 65 74 65 72 73 20 61 72 |he param|eters ar|
|00001dc0| 65 20 66 6f 72 20 74 65 | 6d 70 6f 72 61 72 79 20 |e for te|mporary |
|00001dd0| 73 74 6f 72 61 67 65 20 | 62 79 20 53 65 74 4c 75 |storage |by SetLu|
|00001de0| 6d 69 6e 61 6e 63 65 52 | 61 6e 67 65 28 29 20 2a |minanceR|ange() *|
|00001df0| 2f 0d 09 64 6f 75 62 6c | 65 20 6c 6f 77 4c 75 6d |/..doubl|e lowLum|
|00001e00| 69 6e 61 6e 63 65 3b 09 | 2f 2a 20 74 68 65 20 62 |inance;.|/* the b|
|00001e10| 6f 74 74 6f 6d 20 6f 66 | 20 74 68 65 20 72 61 6e |ottom of| the ran|
|00001e20| 67 65 20 2a 2f 0d 09 64 | 6f 75 62 6c 65 20 68 69 |ge */..d|ouble hi|
|00001e30| 67 68 4c 75 6d 69 6e 61 | 6e 63 65 3b 09 2f 2a 20 |ghLumina|nce;./* |
|00001e40| 74 68 65 20 74 6f 70 20 | 6f 66 20 74 68 65 20 72 |the top |of the r|
|00001e50| 61 6e 67 65 20 2a 2f 0d | 09 73 68 6f 72 74 20 72 |ange */.|.short r|
|00001e60| 61 6e 67 65 53 65 74 3b | 09 09 09 2f 2a 20 61 20 |angeSet;|.../* a |
|00001e70| 63 68 65 63 6b 20 74 68 | 61 74 20 74 68 65 20 72 |check th|at the r|
|00001e80| 61 6e 67 65 20 72 65 61 | 6c 6c 79 20 68 61 73 20 |ange rea|lly has |
|00001e90| 62 65 65 6e 20 73 65 74 | 20 2a 2f 0d 09 73 68 6f |been set| */..sho|
|00001ea0| 72 74 20 64 61 63 73 3b | 09 09 09 09 2f 2a 20 74 |rt dacs;|..../* t|
|00001eb0| 68 65 20 6e 75 6d 62 65 | 72 20 6f 66 20 64 61 63 |he numbe|r of dac|
|00001ec0| 73 20 77 69 74 68 20 6e | 6f 6e 7a 65 72 6f 20 67 |s with n|onzero g|
|00001ed0| 61 69 6e 2c 20 75 73 75 | 61 6c 6c 79 20 31 20 6f |ain, usu|ally 1 o|
|00001ee0| 72 20 33 20 2a 2f 0d 09 | 73 68 6f 72 74 20 66 69 |r 3 */..|short fi|
|00001ef0| 78 65 64 3b 09 09 09 2f | 2a 20 74 68 65 20 6e 75 |xed;.../|* the nu|
|00001f00| 6d 62 65 72 20 6f 66 20 | 64 61 63 73 20 77 68 6f |mber of |dacs who|
|00001f10| 73 65 20 76 61 6c 75 65 | 20 77 69 6c 6c 20 62 65 |se value| will be|
|00001f20| 20 66 69 78 65 64 20 66 | 6f 72 20 74 68 69 73 20 | fixed f|or this |
|00001f30| 72 61 6e 67 65 20 2a 2f | 0d 09 73 68 6f 72 74 20 |range */|..short |
|00001f40| 64 61 63 5b 44 41 43 53 | 5d 3b 09 09 2f 2a 20 77 |dac[DACS|];../* w|
|00001f50| 68 69 63 68 20 64 61 63 | 20 63 6f 72 72 65 73 70 |hich dac| corresp|
|00001f60| 6f 6e 64 73 20 74 6f 20 | 65 61 63 68 20 67 61 69 |onds to |each gai|
|00001f70| 6e 2c 20 72 3d 30 2c 67 | 3d 31 2c 62 3d 32 20 2a |n, r=0,g|=1,b=2 *|
|00001f80| 2f 0d 09 64 6f 75 62 6c | 65 20 67 61 69 6e 5b 44 |/..doubl|e gain[D|
|00001f90| 41 43 53 5d 3b 09 09 2f | 2a 20 74 68 65 20 6f 72 |ACS];../|* the or|
|00001fa0| 64 65 72 65 64 20 6e 6f | 72 6d 61 6c 69 7a 65 64 |dered no|rmalized|
|00001fb0| 20 67 61 69 6e 73 20 6f | 66 20 74 68 65 20 56 69 | gains o|f the Vi|
|00001fc0| 64 65 6f 20 41 74 74 65 | 6e 75 61 74 6f 72 20 2a |deo Atte|nuator *|
|00001fd0| 2f 0d 09 64 6f 75 62 6c | 65 20 56 48 61 6c 66 53 |/..doubl|e VHalfS|
|00001fe0| 74 65 70 3b 09 09 2f 2a | 20 68 61 6c 66 20 61 20 |tep;../*| half a |
|00001ff0| 73 74 65 70 20 6f 66 20 | 74 68 65 20 66 69 6e 65 |step of |the fine|
|00002000| 73 74 20 64 61 63 20 2a | 2f 0d 09 64 6f 75 62 6c |st dac *|/..doubl|
|00002010| 65 20 56 46 69 78 65 64 | 3b 09 09 09 2f 2a 20 74 |e VFixed|;.../* t|
|00002020| 68 65 20 76 61 6c 75 65 | 20 70 72 6f 64 75 63 65 |he value| produce|
|00002030| 64 20 62 79 20 74 68 65 | 20 66 69 78 65 64 20 64 |d by the| fixed d|
|00002040| 61 63 73 20 2a 2f 0d 09 | 64 6f 75 62 6c 65 20 4c |acs */..|double L|
|00002050| 4f 66 66 73 65 74 3b 09 | 09 09 2f 2a 20 61 20 73 |Offset;.|../* a s|
|00002060| 6d 61 6c 6c 20 73 68 69 | 66 74 20 6f 66 20 74 68 |mall shi|ft of th|
|00002070| 65 20 72 65 71 75 65 73 | 74 65 64 20 6c 75 6d 69 |e reques|ted lumi|
|00002080| 6e 61 6e 63 65 20 72 61 | 6e 67 65 20 2a 2f 0d 09 |nance ra|nge */..|
|00002090| 64 6f 75 62 6c 65 20 74 | 6f 6c 65 72 61 6e 63 65 |double t|olerance|
|000020a0| 3b 09 09 2f 2a 20 74 68 | 65 20 6c 75 6d 69 6e 61 |;../* th|e lumina|
|000020b0| 6e 63 65 20 65 72 72 6f | 72 20 63 6f 72 72 65 73 |nce erro|r corres|
|000020c0| 70 6f 6e 64 69 6e 67 20 | 74 6f 20 68 61 6c 66 20 |ponding |to half |
|000020d0| 0d 09 09 09 09 09 09 09 | 09 61 20 73 74 65 70 20 |........|.a step |
|000020e0| 6f 66 20 74 68 65 20 63 | 6f 61 72 73 65 73 74 20 |of the c|oarsest |
|000020f0| 6f 66 20 74 68 65 20 76 | 61 72 69 61 62 6c 65 20 |of the v|ariable |
|00002100| 64 61 63 73 20 2a 2f 0d | 09 23 69 66 20 46 41 53 |dacs */.|.#if FAS|
|00002110| 54 5f 4c 55 4d 49 4e 41 | 4e 43 45 0d 09 09 46 69 |T_LUMINA|NCE...Fi|
|00002120| 78 65 64 20 5f 67 61 69 | 6e 5b 44 41 43 53 5d 3b |xed _gai|n[DACS];|
|00002130| 0d 09 09 46 69 78 65 64 | 20 5f 56 48 61 6c 66 53 |...Fixed| _VHalfS|
|00002140| 74 65 70 3b 0d 09 09 46 | 69 78 65 64 20 5f 56 46 |tep;...F|ixed _VF|
|00002150| 69 78 65 64 3b 0d 09 09 | 46 69 78 65 64 20 5f 4c |ixed;...|Fixed _L|
|00002160| 4f 66 66 73 65 74 3b 0d | 09 09 46 69 78 65 64 20 |Offset;.|..Fixed |
|00002170| 5f 74 6f 6c 65 72 61 6e | 63 65 3b 0d 09 23 65 6c |_toleran|ce;..#el|
|00002180| 73 65 0d 09 09 64 6f 75 | 62 6c 65 20 5f 67 61 69 |se...dou|ble _gai|
|00002190| 6e 5b 44 41 43 53 5d 3b | 0d 09 09 64 6f 75 62 6c |n[DACS];|...doubl|
|000021a0| 65 20 5f 56 48 61 6c 66 | 53 74 65 70 3b 0d 09 09 |e _VHalf|Step;...|
|000021b0| 64 6f 75 62 6c 65 20 5f | 56 46 69 78 65 64 3b 0d |double _|VFixed;.|
|000021c0| 09 09 64 6f 75 62 6c 65 | 20 5f 4c 4f 66 66 73 65 |..double| _LOffse|
|000021d0| 74 3b 0d 09 09 64 6f 75 | 62 6c 65 20 5f 74 6f 6c |t;...dou|ble _tol|
|000021e0| 65 72 61 6e 63 65 3b 0d | 09 23 65 6e 64 69 66 0d |erance;.|.#endif.|
|000021f0| 09 52 47 42 43 6f 6c 6f | 72 20 72 67 62 3b 09 09 |.RGBColo|r rgb;..|
|00002200| 09 2f 2a 20 63 61 63 68 | 65 20 74 68 65 20 76 61 |./* cach|e the va|
|00002210| 6c 75 65 73 20 6f 66 20 | 74 68 65 20 66 69 78 65 |lues of |the fixe|
|00002220| 64 20 44 41 43 73 20 2a | 2f 0d 09 6c 75 6d 69 6e |d DACs *|/..lumin|
|00002230| 61 6e 63 65 54 61 62 6c | 65 20 4c 3b 0d 7d 20 6c |anceTabl|e L;.} l|
|00002240| 75 6d 69 6e 61 6e 63 65 | 52 65 63 6f 72 64 3b 0d |uminance|Record;.|
|00002250| 0d 65 6e 75 6d 20 7b 6c | 75 6d 69 6e 61 6e 63 65 |.enum {l|uminance|
|00002260| 53 65 74 3d 31 32 33 34 | 35 7d 3b 09 2f 2a 20 61 |Set=1234|5};./* a|
|00002270| 20 75 6e 69 71 75 65 20 | 76 61 6c 75 65 20 74 68 | unique |value th|
|00002280| 61 74 20 77 65 20 63 61 | 6e 20 63 68 65 63 6b 20 |at we ca|n check |
|00002290| 66 6f 72 20 6c 61 74 65 | 72 20 2a 2f 0d 0d 2f 2a |for late|r */../*|
|000022a0| 20 4c 75 6d 69 6e 61 6e | 63 65 2e 63 20 2a 2f 0d | Luminan|ce.c */.|
|000022b0| 64 6f 75 62 6c 65 20 53 | 65 74 4c 75 6d 69 6e 61 |double S|etLumina|
|000022c0| 6e 63 65 28 47 44 48 61 | 6e 64 6c 65 20 64 65 76 |nce(GDHa|ndle dev|
|000022d0| 69 63 65 2c 6c 75 6d 69 | 6e 61 6e 63 65 52 65 63 |ice,lumi|nanceRec|
|000022e0| 6f 72 64 20 2a 4c 50 0d | 09 2c 69 6e 74 20 74 68 |ord *LP.|.,int th|
|000022f0| 65 45 6e 74 72 79 2c 64 | 6f 75 62 6c 65 20 6c 75 |eEntry,d|ouble lu|
|00002300| 6d 69 6e 61 6e 63 65 0d | 09 2c 64 6f 75 62 6c 65 |minance.|.,double|
|00002310| 20 6c 6f 77 4c 75 6d 69 | 6e 61 6e 63 65 2c 64 6f | lowLumi|nance,do|
|00002320| 75 62 6c 65 20 68 69 67 | 68 4c 75 6d 69 6e 61 6e |uble hig|hLuminan|
|00002330| 63 65 29 3b 0d 64 6f 75 | 62 6c 65 20 53 65 74 4c |ce);.dou|ble SetL|
|00002340| 75 6d 69 6e 61 6e 63 65 | 73 28 47 44 48 61 6e 64 |uminance|s(GDHand|
|00002350| 6c 65 20 64 65 76 69 63 | 65 2c 6c 75 6d 69 6e 61 |le devic|e,lumina|
|00002360| 6e 63 65 52 65 63 6f 72 | 64 20 2a 4c 50 0d 09 2c |nceRecor|d *LP..,|
|00002370| 69 6e 74 20 66 69 72 73 | 74 45 6e 74 72 79 2c 69 |int firs|tEntry,i|
|00002380| 6e 74 20 6c 61 73 74 45 | 6e 74 72 79 0d 09 2c 64 |nt lastE|ntry..,d|
|00002390| 6f 75 62 6c 65 20 66 69 | 72 73 74 4c 75 6d 69 6e |ouble fi|rstLumin|
|000023a0| 61 6e 63 65 2c 64 6f 75 | 62 6c 65 20 6c 61 73 74 |ance,dou|ble last|
|000023b0| 4c 75 6d 69 6e 61 6e 63 | 65 29 3b 0d 64 6f 75 62 |Luminanc|e);.doub|
|000023c0| 6c 65 20 53 65 74 4c 75 | 6d 69 6e 61 6e 63 65 73 |le SetLu|minances|
|000023d0| 41 6e 64 52 61 6e 67 65 | 28 47 44 48 61 6e 64 6c |AndRange|(GDHandl|
|000023e0| 65 20 64 65 76 69 63 65 | 2c 6c 75 6d 69 6e 61 6e |e device|,luminan|
|000023f0| 63 65 52 65 63 6f 72 64 | 20 2a 4c 50 0d 09 2c 69 |ceRecord| *LP..,i|
|00002400| 6e 74 20 66 69 72 73 74 | 45 6e 74 72 79 2c 69 6e |nt first|Entry,in|
|00002410| 74 20 6c 61 73 74 45 6e | 74 72 79 0d 09 2c 64 6f |t lastEn|try..,do|
|00002420| 75 62 6c 65 20 66 69 72 | 73 74 4c 75 6d 69 6e 61 |uble fir|stLumina|
|00002430| 6e 63 65 2c 64 6f 75 62 | 6c 65 20 6c 61 73 74 4c |nce,doub|le lastL|
|00002440| 75 6d 69 6e 61 6e 63 65 | 0d 09 2c 64 6f 75 62 6c |uminance|..,doubl|
|00002450| 65 20 6c 6f 77 4c 75 6d | 69 6e 61 6e 63 65 2c 64 |e lowLum|inance,d|
|00002460| 6f 75 62 6c 65 20 68 69 | 67 68 4c 75 6d 69 6e 61 |ouble hi|ghLumina|
|00002470| 6e 63 65 29 3b 0d 76 6f | 69 64 20 4c 6f 61 64 4c |nce);.vo|id LoadL|
|00002480| 75 6d 69 6e 61 6e 63 65 | 73 28 47 44 48 61 6e 64 |uminance|s(GDHand|
|00002490| 6c 65 20 64 65 76 69 63 | 65 2c 20 6c 75 6d 69 6e |le devic|e, lumin|
|000024a0| 61 6e 63 65 52 65 63 6f | 72 64 20 2a 4c 50 2c 0d |anceReco|rd *LP,.|
|000024b0| 09 69 6e 74 20 66 69 72 | 73 74 45 6e 74 72 79 2c |.int fir|stEntry,|
|000024c0| 20 69 6e 74 20 6c 61 73 | 74 45 6e 74 72 79 29 3b | int las|tEntry);|
|000024d0| 0d 76 6f 69 64 20 49 6e | 63 72 65 6d 65 6e 74 4c |.void In|crementL|
|000024e0| 75 6d 69 6e 61 6e 63 65 | 28 47 44 48 61 6e 64 6c |uminance|(GDHandl|
|000024f0| 65 20 64 65 76 69 63 65 | 2c 6c 75 6d 69 6e 61 6e |e device|,luminan|
|00002500| 63 65 52 65 63 6f 72 64 | 20 2a 4c 50 2c 69 6e 74 |ceRecord| *LP,int|
|00002510| 20 74 68 65 45 6e 74 72 | 79 29 3b 0d 64 6f 75 62 | theEntr|y);.doub|
|00002520| 6c 65 20 47 65 74 4c 75 | 6d 69 6e 61 6e 63 65 28 |le GetLu|minance(|
|00002530| 47 44 48 61 6e 64 6c 65 | 20 64 65 76 69 63 65 2c |GDHandle| device,|
|00002540| 6c 75 6d 69 6e 61 6e 63 | 65 52 65 63 6f 72 64 20 |luminanc|eRecord |
|00002550| 2a 4c 50 2c 69 6e 74 20 | 74 68 65 45 6e 74 72 79 |*LP,int |theEntry|
|00002560| 29 3b 0d 64 6f 75 62 6c | 65 20 47 65 74 56 28 47 |);.doubl|e GetV(G|
|00002570| 44 48 61 6e 64 6c 65 20 | 64 65 76 69 63 65 2c 6c |DHandle |device,l|
|00002580| 75 6d 69 6e 61 6e 63 65 | 52 65 63 6f 72 64 20 2a |uminance|Record *|
|00002590| 4c 50 2c 69 6e 74 20 74 | 68 65 45 6e 74 72 79 29 |LP,int t|heEntry)|
|000025a0| 3b 0d 64 6f 75 62 6c 65 | 20 56 54 6f 4c 28 6c 75 |;.double| VToL(lu|
|000025b0| 6d 69 6e 61 6e 63 65 52 | 65 63 6f 72 64 20 2a 4c |minanceR|ecord *L|
|000025c0| 50 2c 64 6f 75 62 6c 65 | 20 56 29 3b 0d 64 6f 75 |P,double| V);.dou|
|000025d0| 62 6c 65 20 4c 54 6f 56 | 28 6c 75 6d 69 6e 61 6e |ble LToV|(luminan|
|000025e0| 63 65 52 65 63 6f 72 64 | 20 2a 4c 50 2c 64 6f 75 |ceRecord| *LP,dou|
|000025f0| 62 6c 65 20 4c 29 3b 0d | 64 6f 75 62 6c 65 20 4c |ble L);.|double L|
|00002600| 54 6f 56 46 6f 72 6d 75 | 6c 61 69 63 28 6c 75 6d |ToVFormu|laic(lum|
|00002610| 69 6e 61 6e 63 65 52 65 | 63 6f 72 64 20 2a 4c 50 |inanceRe|cord *LP|
|00002620| 2c 64 6f 75 62 6c 65 20 | 4c 29 3b 0d 64 6f 75 62 |,double |L);.doub|
|00002630| 6c 65 20 4c 54 6f 4c 28 | 6c 75 6d 69 6e 61 6e 63 |le LToL(|luminanc|
|00002640| 65 52 65 63 6f 72 64 20 | 2a 4c 50 2c 64 6f 75 62 |eRecord |*LP,doub|
|00002650| 6c 65 20 4c 29 3b 0d 0d | 2f 2a 20 54 68 65 20 66 |le L);..|/* The f|
|00002660| 6f 6c 6c 6f 77 69 6e 67 | 20 72 6f 75 74 69 6e 65 |ollowing| routine|
|00002670| 73 20 61 72 65 20 70 72 | 69 6d 61 72 69 6c 79 20 |s are pr|imarily |
|00002680| 66 6f 72 20 69 6e 74 65 | 72 6e 61 6c 20 75 73 65 |for inte|rnal use|
|00002690| 2e 20 2a 2f 0d 23 69 66 | 20 46 41 53 54 5f 4c 55 |. */.#if| FAST_LU|
|000026a0| 4d 49 4e 41 4e 43 45 0d | 09 76 6f 69 64 20 5f 53 |MINANCE.|.void _S|
|000026b0| 65 74 4c 75 6d 69 6e 61 | 6e 63 65 28 6c 75 6d 69 |etLumina|nce(lumi|
|000026c0| 6e 61 6e 63 65 52 65 63 | 6f 72 64 20 2a 4c 50 74 |nanceRec|ord *LPt|
|000026d0| 72 2c 69 6e 74 20 74 68 | 65 45 6e 74 72 79 2c 46 |r,int th|eEntry,F|
|000026e0| 69 78 65 64 20 5f 6c 75 | 6d 69 6e 61 6e 63 65 29 |ixed _lu|minance)|
|000026f0| 3b 0d 09 46 69 78 65 64 | 20 5f 54 6f 6c 65 72 61 |;..Fixed| _Tolera|
|00002700| 6e 63 65 28 6c 75 6d 69 | 6e 61 6e 63 65 52 65 63 |nce(lumi|nanceRec|
|00002710| 6f 72 64 20 2a 4c 50 2c | 46 69 78 65 64 20 5f 6c |ord *LP,|Fixed _l|
|00002720| 75 6d 69 6e 61 6e 63 65 | 29 3b 0d 09 76 6f 69 64 |uminance|);..void|
|00002730| 20 5f 53 65 74 4c 75 6d | 69 6e 61 6e 63 65 73 28 | _SetLum|inances(|
|00002740| 6c 75 6d 69 6e 61 6e 63 | 65 52 65 63 6f 72 64 20 |luminanc|eRecord |
|00002750| 2a 4c 50 2c 69 6e 74 20 | 66 69 72 73 74 2c 69 6e |*LP,int |first,in|
|00002760| 74 20 6c 61 73 74 0d 09 | 09 2c 46 69 78 65 64 20 |t last..|.,Fixed |
|00002770| 5f 66 69 72 73 74 4c 2c | 46 69 78 65 64 20 5f 64 |_firstL,|Fixed _d|
|00002780| 4c 36 34 2c 46 69 78 65 | 64 20 5f 66 69 72 73 74 |L64,Fixe|d _first|
|00002790| 56 2c 46 69 78 65 64 20 | 5f 6c 61 73 74 56 29 3b |V,Fixed |_lastV);|
|000027a0| 0d 09 46 69 78 65 64 20 | 5f 56 54 6f 4c 28 6c 75 |..Fixed |_VToL(lu|
|000027b0| 6d 69 6e 61 6e 63 65 52 | 65 63 6f 72 64 20 2a 4c |minanceR|ecord *L|
|000027c0| 50 2c 46 69 78 65 64 20 | 5f 56 29 3b 0d 09 46 69 |P,Fixed |_V);..Fi|
|000027d0| 78 65 64 20 5f 4c 54 6f | 56 28 6c 75 6d 69 6e 61 |xed _LTo|V(lumina|
|000027e0| 6e 63 65 52 65 63 6f 72 | 64 20 2a 4c 50 2c 46 69 |nceRecor|d *LP,Fi|
|000027f0| 78 65 64 20 5f 4c 29 3b | 0d 23 65 6c 73 65 0d 09 |xed _L);|.#else..|
|00002800| 76 6f 69 64 20 5f 53 65 | 74 4c 75 6d 69 6e 61 6e |void _Se|tLuminan|
|00002810| 63 65 28 6c 75 6d 69 6e | 61 6e 63 65 52 65 63 6f |ce(lumin|anceReco|
|00002820| 72 64 20 2a 4c 50 74 72 | 2c 69 6e 74 20 74 68 65 |rd *LPtr|,int the|
|00002830| 45 6e 74 72 79 2c 64 6f | 75 62 6c 65 20 5f 6c 75 |Entry,do|uble _lu|
|00002840| 6d 69 6e 61 6e 63 65 29 | 3b 0d 09 64 6f 75 62 6c |minance)|;..doubl|
|00002850| 65 20 5f 54 6f 6c 65 72 | 61 6e 63 65 28 6c 75 6d |e _Toler|ance(lum|
|00002860| 69 6e 61 6e 63 65 52 65 | 63 6f 72 64 20 2a 4c 50 |inanceRe|cord *LP|
|00002870| 2c 64 6f 75 62 6c 65 20 | 5f 6c 75 6d 69 6e 61 6e |,double |_luminan|
|00002880| 63 65 29 3b 0d 09 76 6f | 69 64 20 5f 53 65 74 4c |ce);..vo|id _SetL|
|00002890| 75 6d 69 6e 61 6e 63 65 | 73 28 6c 75 6d 69 6e 61 |uminance|s(lumina|
|000028a0| 6e 63 65 52 65 63 6f 72 | 64 20 2a 4c 50 2c 69 6e |nceRecor|d *LP,in|
|000028b0| 74 20 66 69 72 73 74 2c | 69 6e 74 20 6c 61 73 74 |t first,|int last|
|000028c0| 0d 09 09 2c 64 6f 75 62 | 6c 65 20 5f 66 69 72 73 |...,doub|le _firs|
|000028d0| 74 4c 2c 64 6f 75 62 6c | 65 20 5f 64 4c 38 2c 64 |tL,doubl|e _dL8,d|
|000028e0| 6f 75 62 6c 65 20 5f 66 | 69 72 73 74 56 2c 64 6f |ouble _f|irstV,do|
|000028f0| 75 62 6c 65 20 5f 6c 61 | 73 74 56 29 3b 0d 09 64 |uble _la|stV);..d|
|00002900| 6f 75 62 6c 65 20 5f 56 | 54 6f 4c 28 6c 75 6d 69 |ouble _V|ToL(lumi|
|00002910| 6e 61 6e 63 65 52 65 63 | 6f 72 64 20 2a 4c 50 2c |nanceRec|ord *LP,|
|00002920| 64 6f 75 62 6c 65 20 5f | 56 29 3b 0d 09 64 6f 75 |double _|V);..dou|
|00002930| 62 6c 65 20 5f 4c 54 6f | 56 28 6c 75 6d 69 6e 61 |ble _LTo|V(lumina|
|00002940| 6e 63 65 52 65 63 6f 72 | 64 20 2a 4c 50 2c 64 6f |nceRecor|d *LP,do|
|00002950| 75 62 6c 65 20 5f 4c 29 | 3b 0d 23 65 6e 64 69 66 |uble _L)|;.#endif|
|00002960| 0d 64 6f 75 62 6c 65 20 | 53 65 74 4c 75 6d 69 6e |.double |SetLumin|
|00002970| 61 6e 63 65 52 61 6e 67 | 65 28 6c 75 6d 69 6e 61 |anceRang|e(lumina|
|00002980| 6e 63 65 52 65 63 6f 72 | 64 20 2a 4c 50 0d 09 2c |nceRecor|d *LP..,|
|00002990| 64 6f 75 62 6c 65 20 6c | 6f 77 4c 75 6d 69 6e 61 |double l|owLumina|
|000029a0| 6e 63 65 2c 64 6f 75 62 | 6c 65 20 68 69 67 68 4c |nce,doub|le highL|
|000029b0| 75 6d 69 6e 61 6e 63 65 | 29 3b 0d 64 6f 75 62 6c |uminance|);.doubl|
|000029c0| 65 20 56 54 6f 4c 50 6f | 77 65 72 28 6c 75 6d 69 |e VToLPo|wer(lumi|
|000029d0| 6e 61 6e 63 65 52 65 63 | 6f 72 64 20 2a 4c 50 2c |nanceRec|ord *LP,|
|000029e0| 64 6f 75 62 6c 65 20 56 | 29 3b 09 09 09 2f 2a 20 |double V|);.../* |
|000029f0| 75 73 65 20 56 54 6f 4c | 28 29 20 69 6e 73 74 65 |use VToL|() inste|
|00002a00| 61 64 20 2a 2f 0d 64 6f | 75 62 6c 65 20 56 54 6f |ad */.do|uble VTo|
|00002a10| 4c 50 6f 6c 79 6e 6f 6d | 69 61 6c 28 6c 75 6d 69 |LPolynom|ial(lumi|
|00002a20| 6e 61 6e 63 65 52 65 63 | 6f 72 64 20 2a 4c 50 2c |nanceRec|ord *LP,|
|00002a30| 64 6f 75 62 6c 65 20 56 | 29 3b 09 2f 2a 20 75 73 |double V|);./* us|
|00002a40| 65 20 56 54 6f 4c 28 29 | 20 69 6e 73 74 65 61 64 |e VToL()| instead|
|00002a50| 20 2a 2f 0d 64 6f 75 62 | 6c 65 20 4c 54 6f 56 50 | */.doub|le LToVP|
|00002a60| 6f 77 65 72 28 6c 75 6d | 69 6e 61 6e 63 65 52 65 |ower(lum|inanceRe|
|00002a70| 63 6f 72 64 20 2a 4c 50 | 2c 64 6f 75 62 6c 65 20 |cord *LP|,double |
|00002a80| 4c 29 3b 09 09 09 2f 2a | 20 75 73 65 20 4c 54 6f |L);.../*| use LTo|
|00002a90| 56 28 29 20 69 6e 73 74 | 65 61 64 20 2a 2f 0d 64 |V() inst|ead */.d|
|00002aa0| 6f 75 62 6c 65 20 4c 54 | 6f 56 50 6f 6c 79 6e 6f |ouble LT|oVPolyno|
|00002ab0| 6d 69 61 6c 28 6c 75 6d | 69 6e 61 6e 63 65 52 65 |mial(lum|inanceRe|
|00002ac0| 63 6f 72 64 20 2a 4c 50 | 2c 64 6f 75 62 6c 65 20 |cord *LP|,double |
|00002ad0| 4c 29 3b 09 2f 2a 20 75 | 73 65 20 4c 54 6f 56 28 |L);./* u|se LToV(|
|00002ae0| 29 20 69 6e 73 74 65 61 | 64 20 2a 2f 0d 64 6f 75 |) instea|d */.dou|
|00002af0| 62 6c 65 20 4c 54 6f 56 | 51 75 61 64 72 61 74 69 |ble LToV|Quadrati|
|00002b00| 63 28 6c 75 6d 69 6e 61 | 6e 63 65 52 65 63 6f 72 |c(lumina|nceRecor|
|00002b10| 64 20 2a 4c 50 2c 64 6f | 75 62 6c 65 20 4c 29 3b |d *LP,do|uble L);|
|00002b20| 09 09 2f 2a 20 75 73 65 | 20 4c 54 6f 56 28 29 20 |../* use| LToV() |
|00002b30| 69 6e 73 74 65 61 64 20 | 2a 2f 0d 0d 2f 2a 20 52 |instead |*/../* R|
|00002b40| 65 61 64 4c 75 6d 69 6e | 61 6e 63 65 52 65 63 6f |eadLumin|anceReco|
|00002b50| 72 64 2e 63 20 2a 2f 0d | 0d 69 6e 74 20 52 65 61 |rd.c */.|.int Rea|
|00002b60| 64 4c 75 6d 69 6e 61 6e | 63 65 52 65 63 6f 72 64 |dLuminan|ceRecord|
|00002b70| 28 63 68 61 72 20 2a 66 | 69 6c 65 6e 61 6d 65 2c |(char *f|ilename,|
|00002b80| 6c 75 6d 69 6e 61 6e 63 | 65 52 65 63 6f 72 64 20 |luminanc|eRecord |
|00002b90| 2a 4c 50 2c 69 6e 74 20 | 65 63 68 6f 29 3b 0d 0d |*LP,int |echo);..|
|00002ba0| 23 65 6e 64 69 66 20 5f | 4c 55 4d 49 4e 41 4e 43 |#endif _|LUMINANC|
|00002bb0| 45 5f 0d 0d 00 00 00 00 | 00 00 00 00 00 00 00 00 |E_......|........|
|00002bc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002bd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002be0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002bf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002c00| 00 00 01 00 00 00 01 4c | 00 00 00 4c 00 00 00 32 |.......L|...L...2|
|00002c10| 00 00 00 1c 0a 22 00 03 | 43 4f 44 45 00 1a 00 22 |....."..|CODE..."|
|00002c20| 53 54 52 20 00 b5 01 66 | 63 6d 64 6f 00 00 09 ee |STR ...f|cmdo....|
|00002c30| 0b 4c 75 6d 69 6e 61 6e | 63 65 2e 68 02 00 00 00 |.Luminan|ce.h....|
|00002c40| 54 45 58 54 4b 41 48 4c | 00 00 00 00 00 00 00 00 |TEXTKAHL|........|
|00002c50| 00 00 54 45 58 54 4b 41 | 48 4c 00 00 00 00 00 00 |..TEXTKA|HL......|
|00002c60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002c70| 00 00 a7 e5 d5 be 00 00 | 00 00 00 00 01 7e 00 00 |........|.....~..|
|00002c80| 00 06 00 22 20 01 63 50 | 00 00 00 00 00 07 00 27 |..." .cP|.......'|
|00002c90| 20 01 b3 10 00 00 00 00 | 00 08 00 2f 20 01 c8 10 | .......|.../ ...|
|00002ca0| 00 00 00 00 00 09 00 35 | 20 02 15 dc 00 00 00 00 |.......5| .......|
|00002cb0| 00 0a 00 3b 20 02 47 b4 | 00 00 00 00 00 0b 00 40 |...; .G.|.......@|
|00002cc0| 20 02 98 26 00 00 00 00 | 00 0c 00 49 20 02 e7 66 | ..&....|...I ..f|
|00002cd0| 00 00 00 00 00 0d 00 4e | 20 03 62 92 00 00 00 00 |.......N| .b.....|
|00002ce0| 00 0e 00 57 20 03 dd 0a | 00 00 00 00 00 0f 00 5c |...W ...|.......\|
|00002cf0| 20 04 18 02 00 00 00 00 | 00 10 00 61 20 04 4c e0 | .......|...a .L.|
|00002d00| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 11 96 |...H..Mo|naco....|
|00002d10| 09 45 76 61 6c 75 61 74 | 65 00 00 00 11 cb 00 00 |.Evaluat|e.......|
|00002d20| 11 cf 07 45 78 65 00 06 | 00 04 00 52 00 32 01 cb |...Exe..|...R.2..|
|00002d30| 02 53 00 52 00 32 01 cb | 02 53 a4 aa 97 53 00 00 |.S.R.2..|.S...S..|
|00002d40| 09 b4 00 00 0a 42 00 00 | 06 c0 01 00 00 00 01 00 |.....B..|........|
|00002d50| 00 00 01 4c 00 00 00 4c | 00 00 00 32 00 5d 6f a8 |...L...L|...2.]o.|
|00002d60| 0f 6e 00 00 00 1c 00 32 | 00 00 4d 50 53 52 00 00 |.n.....2|..MPSR..|
|00002d70| 00 0a 03 ed ff ff 00 00 | 00 00 00 5f 10 2c 00 00 |........|..._.,..|
+--------+-------------------------+-------------------------+--------+--------+